part of 'lexical_item.dart';

class LexicalItemUseCase extends Equatable {
  const LexicalItemUseCase({
    required this.exampleMarkdown,
    required this.translationMarkdowns,
  });

  final String exampleMarkdown;
  final BuiltMap<LearningLocale, String> translationMarkdowns;

  @override
  List<Object?> get props {
    return [
      exampleMarkdown,
      translationMarkdowns,
    ];
  }

  LexicalItemUseCase copyWith({
    String Function()? exampleMarkdown,
    BuiltMap<LearningLocale, String> Function()? translationMarkdowns,
  }) {
    return LexicalItemUseCase(
      exampleMarkdown:
          exampleMarkdown == null ? this.exampleMarkdown : exampleMarkdown(),
      translationMarkdowns: translationMarkdowns == null
          ? this.translationMarkdowns
          : translationMarkdowns(),
    );
  }
}
